#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    // 连接信号与槽
    // 参数1：谁发出信号。参数2：发出什么信号，参数3：谁处理信号，参数4，执行函数
    connect(ui->cmdLineEdit,SIGNAL(returnPressed()),this,SLOT(on_commitButton_clicked()));  // 采用宏的方式写，将确认按钮与键盘上的enter绑定

    // 通过取地址的方式连接信号与槽
    connect(ui->commitButton,&QPushButton::clicked,this,&Widget::on_cancelButton_clicked);

    // 方式3：直接把执行函数写在里面，如果槽函数处理的任务不多
    connect(ui->browseButton,&QPushButton::clicked,[this](){
       QMessageBox::information(this,"信息","对话框测试");
    });
}

Widget::~Widget()
{
    delete ui;
}


// 确认按钮实现的功能，启动一个进程
void Widget::on_commitButton_clicked()
{
     // 获取lineEdit输入数据
    QString program = ui->cmdLineEdit->text();
    // 创建process对象
    QProcess *myProcess = new QProcess(this);
    myProcess->start(program);

}

// 取消按钮实现的功能：关闭ui界面
void Widget::on_cancelButton_clicked()
{
    this->close();
}


